关于java"一次编译,到处运行"的疑问

来源:百度知道 编辑:UC知道 时间:2024/09/21 11:01:53
我问个问题:
java不是与系统无关的吗?为什么下载手机下使用的 java要分机型下载呢????

各个手机的屏幕分辨率差异很大,另外按键也有差异

java的“到处运行”是建立在虚拟机的基础上的
不同型号的手机有不同的虚拟机

JAVA所谓的与系统无关,就是为每种不同类型的机器写了不同的jre,说白了,就像一个人到某个公司找一个人为自己做翻译。某个公司为你提供的不是一个翻译,而是根据你在不同的国家为你自动匹配不同的翻译,而你自己仍然说自己的话,java就是在不同的机器上针对自己的java语言作出不同的翻译,保证效果不变,从而达到相同的效果。
就好像你说拼音“阿”
到英国就给你翻译成“a”
到日本就给你翻译成“あ”

[各个手机的屏幕分辨率差异很大,另外按键也有差异]
此外,手机本身也对java的扩展支持也不同,比如moto的手机就不支持nokia的扩展包。
之所以分成不同的版本,主要是针对了那一型号的手机做了优化,否则,完全可以只使用标准组件开发出各手机都支持的应用。